Mobile applications (i.e., apps) are software applications designed to run on portable devices, such as mobile phones, tablet computers, and personal digital assistants. Accelerating mobile adoption has been driving a booming mobile apps industry. By recent accounts, companies will spend approximately $100 billion annually building and managing apps by 2015, which is up from $25 billion spent in 2012.
Apps are usually made available through application distribution platforms that are typically administered by the owner of the mobile operating system. While some apps are free, others are purchased. For apps that are purchased, a certain portion of the proceeds goes to the distribution provider while the rest goes to the developer of the app.
Nevertheless, the development of apps has heretofore been difficult for several reasons. First, owing to the broad range of portable devices available in the market, each app must often be ensured for proper functionality on each device, requiring separate development teams and cycles for each different type of portable devices. For example, portable devices in use today may operate with differing operating systems, such as the IOS™ and ANDROID™ operating systems. Furthermore, each portable device may differ greatly from one another, even among those developed by the same manufacturer. Second, apps are typically compiled from source code to maintain relatively stringent size and performance constraints associated with their use on portable devices, which often have limited storage and processing power. The compilation of these apps, however, may generate an undue burden for developers who must re-compile the software code each time a change to the app is made. Additionally, periodic updates to the app often necessitate re-downloading the entire app with each updated version.